package com.ruoyi.zsix.service;

import com.ruoyi.common.core.domain.zsixOrg.GroupEntity;
import com.ruoyi.common.core.domain.zsixOrg.UserEntity;
import com.ruoyi.zsix.domain.model.GroupUsersParams;
import com.ruoyi.zsix.domain.orgmanagement.DepartmentEntity;

import java.util.HashMap;
import java.util.List;

public interface IOrgManagementService {
    /**
     * 获取部门列表
     * @return
     */
    public List<DepartmentEntity> getDepartmentEntityList();
    /**
     * 根据部门编号查找人员
     * @param departid
     * @return
     */
    List<UserEntity> getUserByDepartId(Long departid);
    /**
     * 获取用户分组
     * @param
     * @return
     */
    List<GroupEntity> getGroupList(GroupEntity groupEntity);
    /**
     * 获取组织结构数据
     * @return
     */
    HashMap<String,Object> getOrgData();
    /**
     * 获取分组内成员
     * @param
     * @return
     */
    List<UserEntity> getUserByGorupId(GroupEntity groupEntity);
    /**
     * 增加分组
     * @param groupEntity
     * @return
     */
    GroupEntity addGroup(GroupEntity groupEntity);
    /**
     * 更新分组信息
     * @param groupEntity
     * @return
     */
    GroupEntity updataGroup(GroupEntity groupEntity);
    /**
     * 删除分组
     * @param groupEntity
     * @return
     */
    GroupEntity deleteGroup(GroupEntity groupEntity);
    /**
     * 增加分组人员
     * @param param
     * @return
     */
    GroupUsersParams addUserGroup(GroupUsersParams param);
    /**
     * 删除分组人员
     * @param groupid
     * @return
     */
    String deleteUserGroup(String username, String groupid);
}
